<html>
	
	<head>
	<link rel="stylesheet" type="text/css" href="../doc.css" />
	<style type="text/css">
.ms-classic1-main {
	border-left-style: none;
	border-right-style: none;
	border-top: 1.5pt solid black;
	border-bottom: 1.5pt solid black;
}
.ms-classic1-tl {
	border-left-style: none;
	border-right: .75pt solid black;
	border-top-style: none;
	border-bottom: .75pt solid black;
}
.ms-classic1-left {
	color: black;
	border-left-style: none;
	border-right: .75pt solid black;
	border-top-style: none;
	border-bottom-style: none;
	background-color: white;
}
.ms-classic1-top {
	border-left-style: none;
	border-right-style: none;
	border-top-style: none;
	border-bottom: .75pt solid black;
}
.ms-classic1-even {
	color: black;
	border-style: none;
	background-color: white;
}
.auto-style1 {
	font-size: medium;
}
.auto-style2 {
	text-align: center;
}
.auto-style4 {
	border-style: solid;
	border-width: 0px;
}
.auto-style5 {
	border-style: solid;
	border-width: 1px;
}
.auto-style6 {
	text-align: center;
	border-style: solid;
	border-width: 1px;
}
</style>

<script type="text/javascript" language="JavaScript"><!--
function To(url) {
location.replace(url);
}
//--></script>


	</head>

	<body>

		<h1><u>Instructions/Functions</u></h1>
		<h2>Table of Contents</h2>
		<table border=1>
			<tr>
				<td>
					<a href="javascript:To('#cntl')">CNTL</a>
				</td>
				<td>
					<a href="javascript:To('#stack')">STACK</a>
				</td>
				<td>
					<a href="javascript:To('#jump')">JUMP</a>
				</td>
				<td>
					<a href="javascript:To('#soper')">SOPER</a>
				</td>
				<td>
					<a href="javascript:To('#moper')">MOPER</a>
				</td>
				<td>
					<a href="javascript:To('#Notations')">NOTATIONS</a>
				</td>
			</tr>
		</table>

		<p><br>NOTE: All operations are written in the form: olabel&nbsp;&nbsp;&nbsp;&nbsp; 
		Operation&nbsp;&nbsp;&nbsp; Function,Operand&nbsp;&nbsp;&nbsp;&nbsp; 
		:Comment.</p>
		<p>In the example above comments are optional. But there needs to be ':' 
		before a comment. The operations and functions are case insensitive.</p>
		<p>Conditions and Restrictions:</p>
		<ul>
			<li class="auto-style1">Label needs to start at the beginning of the 
			line without any spaces in front.</li>
			<li class="auto-style1">The label and Operation needs to be 
			seperated by the field seperator. In case there is no label, there needs to be a 
			field seperator 
			between the beginning of the line and the operations. </li>
			<li class="auto-style1">Operation and function are also seperated by 
			the field seperator. </li>
			<li class="auto-style1">Function and Operation need to be seperated 
			by a comma (',') only. No spaces.</li>
			<li class="auto-style1">Comments need to be preceeded with a colon 
			(':'). </li>
		</ul>

		<p>The notations that are used for the operands are explained in the 
		table labeled as 'notations'.</p>

		<h2><a name="cntl">CNTL</a></h2>
		<table border=1>
			<tr>
				<td style="height: 33px">
					Description
				</td>
				<td style="height: 33px">
					Control program execution. Used for stack management and to 
					redirect the program counter in the program.</td>
			</tr>
			
			<tr>
				<td style="height: 12px">
					Consumes memory
				</td>
				<td style="height: 12px">
					Yes
				</td>
			</tr>
			
			<tr>
				<td style="height: 34px">
					Relocation Flag
				</td>
				<td style="height: 34px">
					A - Absolute, R = Relocatable, M - External, or complex
				</td>
			</tr>
			
			<tr>
				<td>
					Functions
				</td>
				<td>
					<table border=1>
						<tr>
							<td>
								<b>Funct</b>
							</td>
							
							<td>
								<b>Operands</b>
							</td>		
								
							<td>
								<b>Description</b>
							</td>
						</tr>
						
						<tr>
							<td style="height: 110px">
								HALT
							</td>
							<td style="height: 110px">
								number: 0 to 1023
							</td>
							<td style="height: 110px">
								This function halts the execution of the 
								program. Example of usage:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								CNTL&nbsp;&nbsp;&nbsp;&nbsp; HALT,30 <br>or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								CNTL&nbsp;&nbsp;&nbsp;&nbsp; HALT</td>
						</tr>
						<tr>
							<td style="height: 175px">
								DUMP
							</td>
							<td style="height: 175px">
								1, 2, or 3
							</td>
							<td style="height: 175px">
								1 - Displays both stacks and status word<br>
								Usage:&nbsp;&nbsp;&nbsp;&nbsp; CNTL&nbsp;&nbsp;&nbsp; 
								DUMP,1<br>&nbsp;2 - Displays memory from the 
								beginning&nbsp; of the program to the end og the 
								program.<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp; CNTL&nbsp;&nbsp;&nbsp; 
								DUMP,2<br>3- Does both operations of 1 and 2.<br>
								Usage:&nbsp;&nbsp;&nbsp;&nbsp; CNTL&nbsp;&nbsp;&nbsp; 
								DUMP,3<br>
							</td>
						</tr>
						<tr>
							<td style="height: 50px">
								CLRD
							</td>
							<td style="height: 50px">
								none
							</td>
							<td style="height: 50px">
								<br>This function removes all values from the Data 
								Stack.<br>Usage:&nbsp;&nbsp;&nbsp; CNTL&nbsp;&nbsp;&nbsp; 
								CLRD<br></td>
						</tr>
						<tr>
							<td style="height: 55px">
								CLRT
							</td>
							<td style="height: 55px">
								none
							</td>
							<td style="height: 55px">
								<br>This function dumps all values from the Test 
								Stack.<br>Usage:&nbsp;&nbsp;&nbsp; CNTL&nbsp;&nbsp;&nbsp; 
								CLRT<br></td>
						</tr>
						<tr>
							<td style="height: 64px">
								GOTO
							</td>
							<td style="height: 64px">
								rlabel
							</td>
							<td style="height: 64px">
								<br>This function makes the Program Counter jump 
								where the rlabel is pointing.<br>Usage:&nbsp;&nbsp;&nbsp; 
								CNTL&nbsp;&nbsp;&nbsp; GOTO,LOOP<br>or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								CNTL&nbsp;&nbsp;&nbsp; GOTO,FLAG&nbsp;&nbsp; <br>or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								CNTL&nbsp;&nbsp;&nbsp; GOTO,55<br>
								For first two instructions above, the program 
								will jump to wherever LOOP or FLAG or appear as labels 
								respectively.<br>For the third instruction the 
								program counter will go to instuction at memory 
								55.<br><br>
							</td>
						</tr>						
						
					</table>
				</td>
			</tr>
		</table>
		
		<h2><a name="stack">STACK</a></h2>
		<table border=1>
			<tr>
				<td style="height: 39px">
					Description
				</td>
				<td style="width: 678px; height: 39px">
					Controls the operations between the stack and the memory
				</td>
			</tr>
			
			<tr>
				<td>
					Consumes memory
				</td>
				<td style="width: 678px">
					Yes
				</td>
			</tr>
			
			<tr>
				<td style="height: 39px">
					Relocation Flag
				</td>
				<td style="width: 678px; height: 39px">
					A - Absolute, R = Relocatable, M - External, or complex
				</td>
			</tr>
			
			<tr>
				<td>
					Functions
				</td>
				<td style="width: 678px">
					<table border=1>
						<tr>
							<td>
								<b>Funct</b>
							</td>
							
							<td style="width: 111px">
								<b>Operands</b>
							</td>		
								
							<td style="width: 493px">
								<b>Description</b>
							</td>
						</tr>
						
						<tr>
							<td>
								PUSH
							</td>
							<td style="width: 111px">
								rlabel, literals
							</td>
							<td style="width: 493px">
								<br>This function pushes the operand on top of 
								the stack<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp; 
								STACK&nbsp;&nbsp;&nbsp; PUSH,AB<br>The above 
								instruction pushes the element at AB on 
								top of the Stack.<br>or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								STACK&nbsp;&nbsp;&nbsp; PUSH,X=3B<br>The 
								instruction above pushes the value 3B on top of 
								the Stack.<br>or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								STACK&nbsp;&nbsp;&nbsp; PUSH,77<br>The 
								instruction above pushes the element at 77 on 
								top of the Stack.<br><br>
							</td>
						</tr>
						<tr>
							<td>
								POP
							</td>
							<td style="width: 111px">
								rlabel
							</td>
							<td style="width: 493px">
								<br>This item removes the top item of the Stack 
								and puts in the memory element the the operand 
								represents.<br>Usage:&nbsp;&nbsp;&nbsp; STACK&nbsp;&nbsp; 
								POP,AB<br>Now the item on the top of the stack 
								is the value at AB.<br>or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								STACK&nbsp;&nbsp;&nbsp;&nbsp; POP,45<br>Here the 
								top itemof the Stack is sent to memory address 
								45.<br><br>
							</td>
						</tr>
						<tr>
							<td>
								TEST
							</td>
							<td style="width: 111px">
								rlabel, literals
							</td>
							<td style="width: 493px">
								<br>Takes the item at the top of the Stack and compares 
								the item with value at rlabel or value of 
								literal.<br><br>
								If the items are equal (=) push 0 onto the test-stack. <br>Usage:&nbsp;&nbsp; 
								STACK&nbsp;&nbsp;&nbsp;&nbsp; TEST,=AB&nbsp; <br>
								The instruction above compeares top item of 
								stack with memory element of AB.<br>or&nbsp;&nbsp;&nbsp; 
								STACK&nbsp;&nbsp;&nbsp;&nbsp; TEST,=I=20 
								:compares with Integer 20.<br>or&nbsp;&nbsp;&nbsp; 
								STACK&nbsp;&nbsp;&nbsp;&nbsp; TEST,=56&nbsp;&nbsp;&nbsp; 
								:compares with value at 56.<br><br>
								If items are not equal (^=)&nbsp; push 1 onto 
								the test-stack.<br>Usage:&nbsp;&nbsp;&nbsp; 
								STACK&nbsp;&nbsp;&nbsp; TEST,^=FLAG&nbsp; or&nbsp;&nbsp; 
								STACK&nbsp;&nbsp;&nbsp; TEST,^=B=01011.<br>or&nbsp;&nbsp;&nbsp;&nbsp; 
								STACK&nbsp;&nbsp;&nbsp; TEST,^=00988<br><br>
								If the element at the top of the Stack is less 
								than (<) value at rlabel or value of literal, 
								push 2 onto the test stack. <br>Usage:&nbsp;&nbsp;&nbsp; 
								STACK&nbsp;&nbsp;&nbsp; TEST,&lt;I=5<br>
								<br>If element on top of the Stack is greater 
								than (>) value at rlabel of value of literal, push 
								3 on top of the Test Stack.<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp; 
								STACK&nbsp;&nbsp;&nbsp; TEST,&gt;MUD<br><br>
								If &lt;=&nbsp; push 4 onto the Test Stack.<br>
								Usage:&nbsp;&nbsp;&nbsp;&nbsp; STACK&nbsp;&nbsp;&nbsp; 
								TEST,&lt;=X=8B<br>
								If&nbsp; >=&nbsp; push 5 onto the Test-Stack.<br>
								Usage:&nbsp;&nbsp;&nbsp;&nbsp; STACK&nbsp;&nbsp;&nbsp; 
								TEST,&gt;=Value<br><br>
							</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		
		<h2><a name="jump">JUMP</a></h2>
		<table border=1>
			<tr>
				<td style="height: 38px">
					Description
				</td>
				<td style="width: 683px; height: 38px">
					This function is used to test conditions and accordingly 
					jump to different labels in the program.</td>
			</tr>
			
			<tr>
				<td style="height: 32px">
					Consumes memory
				</td>
				<td style="width: 683px; height: 32px">
					Yes
				</td>
			</tr>
			
			<tr>
				<td style="height: 37px">
					Relocation Flag
				</td>
				<td style="width: 683px; height: 37px">
					A - Absolute, R = Relocatable, M - External, or complex
				</td>
			</tr>
			
			<tr>
				<td>
					Functions
				</td>
				<td style="width: 683px">
					<table border=1>
						<tr>
							<td>
								<b>Funct</b>
							</td>
							
							<td>
								<b>Operands</b>
							</td>		
								
							<td style="width: 486px">
								<b>Description</b>
							</td>
						</tr>
						
						<tr>
							<td>
								=
							</td>
							<td>
								rlabel
							</td>
							<td style="width: 486px">
								<br>If the value of the top element of 
								test-stack is equal to 0, then the Program 
								counter jumps to rlabel.<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								JUMP&nbsp;&nbsp;&nbsp;&nbsp; =,AB<br></td>
						</tr>
						<tr>
							<td>
								^=
							</td>
							<td>
								rlabel
							</td>
							<td style="width: 486px">
								<br>If the value of the top element of 
								test-stack is equal to 1, then the Program 
								counter jumps to rlabel.<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								JUMP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ^=,67<br>
							</td>
						</tr>	
						<tr>
							<td>
								<
							</td>
							<td>
								rlabel
							</td>
							<td style="width: 486px">
								<br>If the value of the top element of 
								test-stack is equal to 2, then the Program 
								counter jumps to rlabel.<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								JUMP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;,YY<br>
							</td>
						</tr>
						<tr>
							<td>
								>
							</td>
							<td>
								rlabel
							</td>
							<td style="width: 486px">
								<br>If the value of the top element of 
								test-stack is equal to 3, then the Program 
								counter jumps to rlabel.<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								JUMP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;,77<br>
							</td>
						</tr>
						<tr>
							<td>
								<=
							</td>
							<td>
								rlabel
							</td>
							<td style="width: 486px">
								<br>If the value of the top element of 
								test-stack is equal to 4, then the Program 
								counter jumps to rlabel.<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp; 
								JUMP&nbsp;&nbsp;&nbsp;&nbsp; &lt;=,88<br>
							</td>
						</tr>
						<tr>
							<td>
								>=
							</td>
							<td>
								rlabel
							</td>
							<td style="width: 486px">
								<br>If the value of the top element of 
								test-stack is equal to 5, then the Program 
								counter jumps to rlabel.<br>Usage:&nbsp;&nbsp;&nbsp; 
								JUMP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;=,La445<br>
							</td>
						</tr>
						<tr>
							<td>
								TNULL
							</td>
							<td>
								rlabel
							</td>
							<td style="width: 486px">
								<br>If the test-stack is empty, then the Program 
								counter jumps to rlabel.<br>Usage:&nbsp;&nbsp;&nbsp; 
								JUMP&nbsp;&nbsp;&nbsp;&nbsp; tnull,rr55<br>&nbsp;</td>
						</tr>
						<tr>
							<td>
								DNULL
							</td>
							<td>
								rlabel
							</td>
							<td style="width: 486px">
								<br>If the data-stack is empty, then the Program 
								counter jumps to rlabel.<br>Usage:&nbsp;&nbsp;&nbsp; 
								JUMP&nbsp;&nbsp;&nbsp;&nbsp; dnull,87<br>
							</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		
		<h2><a name="soper">SOPER</a></h2>
		<table border=1>
			<tr>
				<td style="height: 35px">
					Description
				</td>
				<td style="width: 674px; height: 35px">
					Perform operations between items present in the Stack
				</td>
			</tr>
			
			<tr>
				<td style="height: 28px">
					Consumes memory
				</td>
				<td style="width: 674px; height: 28px">
					Yes</td>
			</tr>
			
			<tr>
				<td style="height: 32px">
					Relocation Flag
				</td>
				<td style="width: 674px; height: 32px">A - Absolute
				</td>
			</tr>
			
			<tr>
				<td>
					Functions
				</td>
				<td style="width: 674px">
					<table border=1>
						<tr>
							<td>
								<b>Funct</b>
							</td>
							
							<td>
								<b>Operands</b>
							</td>		
								
							<td style="width: 485px">
								<b>Description</b>
							</td>
						</tr>
						
						<tr>
							<td>
								ADD
							</td>
							<td class="auto-style2">
								nn</td>
							<td style="width: 485px">
								<br>Pop item from the top of the Stack, Add the 
								operand (nn) to this item and push this result 
								back on top of the Stack.<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								SOPER&nbsp;&nbsp;&nbsp; ADD,20<br>The 
								instruction above effectively adds decimal 20 to 
								the top item of the Stack.<br>&nbsp;</td>
						</tr>
						<tr>
							<td>
								SUB
							</td>
							<td class="auto-style2">
								nn</td>
							<td style="width: 485px">
								<br>Pop item from the top of the Stack, subtract 
								the operand (nn) from this item and push the 
								result back on top of the Stack.<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								SOPER&nbsp;&nbsp;&nbsp; SUB,46<br>The 
								instruction above effectively subtracts decimal 
								45 from the item in the top of the Stack.<br><br>
							</td>
						</tr>	
						<tr>
							<td>
								MUL
							</td>
							<td class="auto-style2">
								nn</td>
							<td style="width: 485px">
								<br>Pop the top item of the Stack, multiply this 
								item with the operand (nn) and push the resut 
								back on top of the Stack.<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								SOPER&nbsp;&nbsp;&nbsp; MUL,17<br>The instuction 
								above effectively multiplies the item at the top 
								of the Stack by decimal 10.<br><br>
							</td>
						</tr>
						<tr>
							<td>
								DIV
							</td>
							<td class="auto-style2">
								nn</td>
							<td style="width: 485px">
								<br>Pop the top item of the Stack, divide this 
								item by the operand (nn) and push the result 
								back on top of the Stack.<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								SOPER&nbsp;&nbsp;&nbsp; DIV,8<br>The instruction 
								above effetively divides the item at the top of 
								the Stack by 8.<br><br>
							</td>
						</tr>
						<tr>
							<td>
								OR
							</td>
							<td class="auto-style2">
								nn</td>
							<td style="width: 485px">
								<br>Pop the top item from the Stack, use OR 
								(arithmatic) operation on it nn times and push 
								the result back onto the Stack. <br>Usage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								SOPER&nbsp;&nbsp;&nbsp; OR,15<br>The instruction 
								above effectives uses OR on the top item of the 
								stack 15 times.<br>
							</td>
						</tr>
						<tr>
							<td>
								AND
							</td>
							<td class="auto-style2">
								nn</td>
							<td style="width: 485px">
								<br>Pop the top item from the Stack, use AND 
								(arithmatic) operation on it nn times and push 
								the result back onto the Stack. <br>Usage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								SOPER&nbsp;&nbsp;&nbsp; AND,98<br>The 
								instruction above effectives uses OR on the top 
								item of the stack 98 times.<br>
							</td>
						</tr>
						<tr>
							<td>
								READN<br>READC</td>
							<td class="auto-style2">
								nn</td>
							<td style="width: 485px">
								<br>This function reads nn number of items from 
								a file and pushes these items on top of the 
								Stack. Readn reads the items as numbers. Readc 
								reads the items as characters.<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								SOPER&nbsp;&nbsp;&nbsp; READC,42<br>The 
								instruction above reads 42 items from a file as 
								characters and 
								pushes them onto the Stack.<br><br>
							</td>
						</tr>
						<tr>
							<td>
								WRITEN<br>WRITEC
							</td>
							<td class="auto-style2">
								nn</td>
							<td style="width: 485px">
								<br>Pop and display nn items from the stack to 
								the screen. Writen displays the items as 
								numbers, writec displays the items as 
								characters.<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp; 
								SOPER&nbsp;&nbsp;&nbsp; WRITEN,21<br>The 
								instruction pops 21 items from the top of the 
								Stack and displays it on the screen as numbers.<br><br>
							</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>		
		
		<h2><a name="moper">MOPER</a></h2>
		<table border=1>
			<tr>
				<td style="height: 32px">
					Description
				</td>
				<td style="width: 681px; height: 32px">
					Operations between the element on the top of the Stack and memory.
				</td>
			</tr>
			
			<tr>
				<td>
					Consumes memory
				</td>
				<td style="width: 681px">
					Yes</td>
			</tr>
			
			<tr>
				<td style="height: 33px">
					Relocation Flag
				</td>
				<td style="width: 681px; height: 33px">A - Absolute, R = Relocatable, M - External
				</td>
			</tr>
			
			<tr>
				<td>
					Functions
				</td>
				<td style="width: 681px">
					<table border=1>
						<tr>
							<td>
								<b>Funct</b>
							</td>
							
							<td style="width: 72px">
								<b>Operands</b>
							</td>		
								
							<td style="width: 486px">
								<b>Description</b>
							</td>
						</tr>
						
						<tr>
							<td>
								ADD
							</td>
							<td style="width: 72px">
								rlabel
							</td>
							<td style="width: 486px">
								<br>Pop the top item from Stack, Add the 
								effective address of rlabel to this element and 
								push the result back on top of the Stack.<br>
								Usage:&nbsp;&nbsp;&nbsp; MOPER&nbsp;&nbsp;&nbsp;&nbsp; 
								ADD,DATA<br>The above instruction adds the 
								effective value of DATA to the top element of 
								the Stack.<br>or&nbsp;&nbsp;&nbsp;&nbsp; MOPER&nbsp;&nbsp;&nbsp;&nbsp; 
								ADD,76<br>The instruction above adds the element 
								at 76 to the top element of the Stack.<br>
							</td>
						</tr>
						<tr>
							<td>
								SUB
							</td>
							<td style="width: 72px">
								rlabel
							</td>
							<td style="width: 486px">
								<br>Pop the top item from Stack, Add the 
								effective address of rlabel to this element and 
								push the result back on top of the Stack.<br>
								Usage:&nbsp;&nbsp;&nbsp; MOPER&nbsp;&nbsp;&nbsp;&nbsp; 
								SUB,AA<br>The above instruction subtracts the 
								effective value of AA from the top element of 
								the Stack.<br>or&nbsp;&nbsp;&nbsp;&nbsp; MOPER&nbsp;&nbsp;&nbsp;&nbsp; 
								SUB,3489<br>The instruction above adds the 
								element at 3489 to the top element of the Stack.<br>
							</td>
						</tr>	
						<tr>
							<td>
								MUL
							</td>
							<td style="width: 72px">
								rlabel
							</td>
							<td style="width: 486px">
								<br>Pop the top item from Stack, Add the 
								effective address of rlabel to this element and 
								push the result back on top of the Stack.<br>
								Usage:&nbsp;&nbsp;&nbsp; MOPER&nbsp;&nbsp;&nbsp;&nbsp; 
								MUL,DATA<br>The above instruction adds the 
								effective value of DATA to the top element of 
								the Stack.<br>or&nbsp;&nbsp;&nbsp;&nbsp; MOPER&nbsp;&nbsp;&nbsp;&nbsp; 
								MUL,665<br>The instruction above adds the 
								element at 665 to the top element of the Stack.<br>
							</td>
						</tr>
						<tr>
							<td>
								DIV
							</td>
							<td style="width: 72px">
								rlabel
							</td>
							<td style="width: 486px">
								<br>Pop the top item from Stack, Add the 
								effective address of rlabel to this element and 
								push the result back on top of the Stack.<br>
								Usage:&nbsp;&nbsp;&nbsp; MOPER&nbsp;&nbsp;&nbsp;&nbsp; 
								DIV,DIRT<br>The above instruction subtracts the 
								effective value of DIRT from the top element of 
								the Stack.<br>or&nbsp;&nbsp;&nbsp;&nbsp; MOPER&nbsp;&nbsp;&nbsp;&nbsp; 
								DIV,23<br>The instruction above adds the element 
								at 23 to the top element of the Stack.<br>&nbsp;</td>
						</tr>
						<tr>
							<td>
								OR
							</td>
							<td style="width: 72px">
								rlabel
							</td>
							<td style="width: 486px">
								<br>Pop the top item from Stack, Use OR 
								(arithmatic) operation between this elemnet and 
								the rlabel and push the result back onto the 
								STack.<br>Usage:&nbsp;&nbsp;&nbsp; MOPER&nbsp;&nbsp;&nbsp;&nbsp; 
								OR,YY<br>This does top element of Stack OR 
								(arithmatic) value at YY and puts the result 
								back onto the Stack.<br>or&nbsp;&nbsp;&nbsp;&nbsp; 
								MOPER&nbsp;&nbsp;&nbsp;&nbsp; OR,88<br>This does 
								top elememt of Stact OR element at 88.<br>
							</td>
						</tr>
						<tr>
							<td>
								AND
							</td>
							<td style="width: 72px">
								rlabel
							</td>
							<td style="width: 486px">
								<br>Pop the top item from Stack, Use AND 
								(arithmatic) operation between this elemnet and 
								the rlabel and push the result back onto the 
								STack.<br>Usage:&nbsp;&nbsp;&nbsp; MOPER&nbsp;&nbsp;&nbsp;&nbsp; 
								AND,XX<br>This does top element of Stack ANDR 
								(arithmatic) value at XX and puts the result 
								back onto the Stack.<br>or&nbsp;&nbsp;&nbsp;&nbsp; 
								MOPER&nbsp;&nbsp;&nbsp;&nbsp; AND,5<br>This does 
								top elememt of Stact AND element at 5.<br>
							</td>
						</tr>
						<tr>
							<td>
								READN<br>
								READC
							</td>
							<td style="width: 72px">
								rlabel
							</td>
							<td style="width: 486px">
								<br>Reads 1 item from file and save into memory 
								(at rlabel).<br>READN reads the element from 
								file as a number.<br>READC reads the element 
								from the file as characters.<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp; 
								MOPER&nbsp;&nbsp;&nbsp;&nbsp; READN,A4<br>or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								MOPER&nbsp;&nbsp;&nbsp;&nbsp; READC,77<br>&nbsp;</td>
						</tr>
						<tr>
							<td>
								WRITEN<br>
								WRITEC
							</td>
							<td style="width: 72px">
								rlabel
							</td>
							<td style="width: 486px">
								<br>Takes 1 item from the memory (at rlabel) and 
								displays it onto the screen.<br>WRITEN displays 
								the element as a number.<br>WRITEC displays the 
								element as characters.<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp; 
								MOPER&nbsp;&nbsp;&nbsp;&nbsp; WRITEN,MOO<br>or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
								MOPER&nbsp;&nbsp;&nbsp;&nbsp; READC,99<br>
							</td>
						</tr>
					</table>
				</td>
			</tr>
		</table>
		<p>&nbsp;</p>
		<h2><a name="Notations">Notations</a></h2>
		<table align="center" class="auto-style4" style="width: 88%">
			<tr>
				<td class="auto-style6" style="width: 222px">Labels</td>
				<td class="auto-style5"><br>The labels in this machine are upto 
				32 columns in length.The rules for labels are:<br>1. They can be 
				uppercase, lowercase or both.<br>2. Every labelmust start with 
				a-z or A-Z.<br>3. Columns 2 to 6 can have a number or an 
				alphabet.<br>4. There can only be upto 50 labels per assembly<br>
				5. Labels are case sensitive.<br><br></td>
			</tr>
			<tr>
				<td class="auto-style6" style="width: 222px; height: 37px">
				Numbers</td>
				<td class="auto-style5" style="height: 37px">Integers with 
				numbers from 0-1024.</td>
			</tr>
			<tr>
				<td class="auto-style6" style="width: 222px">rlabel</td>
				<td class="auto-style5"><br>Memory reference within or outside 
				the program. It can be alphanumeric, with the same rules as a 
				Label; or a number. The rlabel is basically a pointer. The 
				rlabel can also have star (*) notation.<br><br></td>
			</tr>
			<tr>
				<td class="auto-style6" style="width: 222px">Literals</td>
				<td class="auto-style5"><br>Numeric reference. Not a memory 
				reference. Instructions that use literals in the operand make 
				direct use of the values passes as literals instead of using the 
				values as a memory location. There are four literals in this 
				machine, I= for Integers; C= for Characters; X= for Hexadecimal 
				values and B= for Binary.<br></td>
			</tr>
			<tr>
				<td class="auto-style6" style="width: 222px">I= </td>
				<td class="auto-style5"><br>Integer values. The values are 
				signed numbers and are right justified. The range of Integers 
				for operands is -512 to +511. Can use = the plus sign while 
				passing an Integer. Ex: I=+44 or I=77 etc.<br></td>
			</tr>
			<tr>
				<td class="auto-style6" style="width: 222px">C=</td>
				<td class="auto-style5"><br>Characters. Can only pass one 
				Characted as a Literal in the operand field. This literal is 
				left justified and needs to be passes in single quotes. Ex: 
				C=&#39;w&#39;.<br></td>
			</tr>
			<tr>
				<td class="auto-style6" style="width: 222px">B=</td>
				<td class="auto-style5"><br>Binary values. Can have upto 10 
				digits. Binary values are right justified, the digits on the 
				left are filled with zero if empty. Ex: B=0010111001 or B=1011.<br></td>
			</tr>
			<tr>
				<td class="auto-style6" style="width: 222px">X=</td>
				<td class="auto-style5"><br>Hexadecimal values. X= is right 
				justified. Can pass only upto 2 digits of hex in the operand. 
				Ex: X=7F or X=8.<br></td>
			</tr>
			<tr>
				<td class="auto-style6" style="width: 222px">nn</td>
				<td class="auto-style5"><br>Integer value. The range is between 
				0 - 99 only.<br></td>
			</tr>
			<tr>
				<td class="auto-style6" style="width: 222px">Field Seperator</td>
				<td class="auto-style5"><br>The fiels seperator is either a 
				space or a tab. Field seperators appear between label, operation 
				and function.<br></td>
			</tr>
			<tr>
				<td class="auto-style6" style="width: 222px">Star</td>
				<td class="auto-style5"><br>The star notation is used in the 
				operand. The star needs to be the first thing in the operand and 
				may be followed by a '+' or a '-' and a number.<br>Usage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
				CNTL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GOTO,*+7<br>The 
				instruction above makes the Location Counter increment by 7<br>
				or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CNTL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
				GOTO,*-9<br>The instruction above makes the LC decrement by 9.<br>
				or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CNTL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
				GOTO,*<br>The instruction will not change the LC as * by itself 
				is same as *+0.<br></td>
			</tr>
			</table>
	</body>
</html>
